package com.ruoyi.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 租约保理申请对象 sys_factoring
 * 
 * @author ruoyi
 * @date 2023-04-04
 */
public class SysFactoring extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 租约保理申请单号 */
    @Excel(name = "租约保理申请单号")
    private String factoringOrderNo;

    /** 外部合同号 */
    @Excel(name = "外部合同号")
    private String outOrderNo;

    /** 商户id */
    @Excel(name = "商户id")
    private String businessId;

    /** 利率，年利率，单位：百分比 */
    @Excel(name = "利率，年利率，单位：百分比")
    private BigDecimal rate;

    /** 借款金额 */
    @Excel(name = "借款金额")
    private BigDecimal loanAmount;

    /** 借款期限，单位：月 */
    @Excel(name = "借款期限，单位：月")
    private Long monthLimit;

    /** 一次性服务费，单位：百分比 */
    @Excel(name = "一次性服务费，单位：百分比")
    private BigDecimal serviceFee;

    /** 金融产品ID */
    @Excel(name = "金融产品ID")
    private Long jrProductId;

    /** 资方ID */
    @Excel(name = "资方ID")
    private Long capitalId;

    /** 资方名称 */
    @Excel(name = "资方名称")
    private String capitalName;

    /** 应收租约合计 */
    @Excel(name = "应收租约合计")
    private BigDecimal rentMoney;

    /** 保理授信金额合计 */
    @Excel(name = "保理授信金额合计")
    private BigDecimal factoringCreditMoney;

    /** 服务费 */
    @Excel(name = "服务费")
    private BigDecimal serviceMoney;

    /** 保理利息合计 */
    @Excel(name = "保理利息合计")
    private BigDecimal factoringAdditionalMoney;

    /** 实收保理金额 */
    @Excel(name = "实收保理金额")
    private BigDecimal factoringTrueMoney;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String auditMemo;

    /** 申请状态，1:申请中，2：初审通过，3：初审不通过，4：复审通过，5：复审不通过 */
    @Excel(name = "申请状态，1:申请中，2：初审通过，3：初审不通过，4：复审通过，5：复审不通过")
    private Long applyState;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private BigDecimal reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识，0：删除 ，1：未删除 */
    @Excel(name = "删除标识，0：删除 ，1：未删除")
    private Integer delFlg;

    /** 创建用户id */
    @Excel(name = "创建用户id")
    private Long createUserid;

    /** 更新用户id */
    @Excel(name = "更新用户id")
    private Long updateUserid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFactoringOrderNo(String factoringOrderNo) 
    {
        this.factoringOrderNo = factoringOrderNo;
    }

    public String getFactoringOrderNo() 
    {
        return factoringOrderNo;
    }
    public void setOutOrderNo(String outOrderNo) 
    {
        this.outOrderNo = outOrderNo;
    }

    public String getOutOrderNo() 
    {
        return outOrderNo;
    }
    public void setBusinessId(String businessId) 
    {
        this.businessId = businessId;
    }

    public String getBusinessId() 
    {
        return businessId;
    }
    public void setRate(BigDecimal rate) 
    {
        this.rate = rate;
    }

    public BigDecimal getRate() 
    {
        return rate;
    }
    public void setLoanAmount(BigDecimal loanAmount) 
    {
        this.loanAmount = loanAmount;
    }

    public BigDecimal getLoanAmount() 
    {
        return loanAmount;
    }
    public void setMonthLimit(Long monthLimit) 
    {
        this.monthLimit = monthLimit;
    }

    public Long getMonthLimit() 
    {
        return monthLimit;
    }
    public void setServiceFee(BigDecimal serviceFee) 
    {
        this.serviceFee = serviceFee;
    }

    public BigDecimal getServiceFee() 
    {
        return serviceFee;
    }
    public void setJrProductId(Long jrProductId) 
    {
        this.jrProductId = jrProductId;
    }

    public Long getJrProductId() 
    {
        return jrProductId;
    }
    public void setCapitalId(Long capitalId) 
    {
        this.capitalId = capitalId;
    }

    public Long getCapitalId() 
    {
        return capitalId;
    }
    public void setCapitalName(String capitalName) 
    {
        this.capitalName = capitalName;
    }

    public String getCapitalName() 
    {
        return capitalName;
    }
    public void setRentMoney(BigDecimal rentMoney) 
    {
        this.rentMoney = rentMoney;
    }

    public BigDecimal getRentMoney() 
    {
        return rentMoney;
    }
    public void setFactoringCreditMoney(BigDecimal factoringCreditMoney) 
    {
        this.factoringCreditMoney = factoringCreditMoney;
    }

    public BigDecimal getFactoringCreditMoney() 
    {
        return factoringCreditMoney;
    }
    public void setServiceMoney(BigDecimal serviceMoney) 
    {
        this.serviceMoney = serviceMoney;
    }

    public BigDecimal getServiceMoney() 
    {
        return serviceMoney;
    }
    public void setFactoringAdditionalMoney(BigDecimal factoringAdditionalMoney) 
    {
        this.factoringAdditionalMoney = factoringAdditionalMoney;
    }

    public BigDecimal getFactoringAdditionalMoney() 
    {
        return factoringAdditionalMoney;
    }
    public void setFactoringTrueMoney(BigDecimal factoringTrueMoney) 
    {
        this.factoringTrueMoney = factoringTrueMoney;
    }

    public BigDecimal getFactoringTrueMoney() 
    {
        return factoringTrueMoney;
    }
    public void setAuditMemo(String auditMemo) 
    {
        this.auditMemo = auditMemo;
    }

    public String getAuditMemo() 
    {
        return auditMemo;
    }
    public void setApplyState(Long applyState) 
    {
        this.applyState = applyState;
    }

    public Long getApplyState() 
    {
        return applyState;
    }
    public void setReserve1(BigDecimal reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public BigDecimal getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoringOrderNo", getFactoringOrderNo())
            .append("outOrderNo", getOutOrderNo())
            .append("businessId", getBusinessId())
            .append("rate", getRate())
            .append("loanAmount", getLoanAmount())
            .append("monthLimit", getMonthLimit())
            .append("serviceFee", getServiceFee())
            .append("jrProductId", getJrProductId())
            .append("capitalId", getCapitalId())
            .append("capitalName", getCapitalName())
            .append("rentMoney", getRentMoney())
            .append("factoringCreditMoney", getFactoringCreditMoney())
            .append("serviceMoney", getServiceMoney())
            .append("factoringAdditionalMoney", getFactoringAdditionalMoney())
            .append("factoringTrueMoney", getFactoringTrueMoney())
            .append("remark", getRemark())
            .append("auditMemo", getAuditMemo())
            .append("applyState", getApplyState())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
